home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / share / idl / bonobo-2.0 / Bonobo_Gdk.idl < prev    next >
Text File  |  2006-01-09  |  2KB  |  139 lines

  1. /*
  2.  * Canvas-based rendering of views
  3.  *
  4.  * Author:
  5.  *    Miguel de Icaza (miguel@kernel.org)
  6.  *
  7.  * Copyright (C) 1999, 2001 Ximian, Inc.
  8.  */
  9.  
  10. #ifndef BONOBO_GDK_IDL
  11. #define BONOBO_GDK_IDL
  12.  
  13. module Bonobo {
  14.  
  15. module Gdk {
  16.     /*
  17.      * Idea: would it make more sense to 
  18.      * not provide our own types and just copy
  19.      * the Gdk values instead of converting back and forth?
  20.      */
  21.     enum EventType {
  22.         FOCUS,
  23.         KEY,
  24.         MOTION,
  25.         BUTTON,
  26.         CROSSING
  27.     };
  28.  
  29.     enum ButtonType {
  30.         BUTTON_PRESS,
  31.         BUTTON_2_PRESS,
  32.         BUTTON_3_PRESS,
  33.         BUTTON_RELEASE
  34.     };
  35.  
  36.     enum KeyType {
  37.         KEY_PRESS,
  38.         KEY_RELEASE
  39.     };
  40.  
  41.     enum CrossType {
  42.         ENTER, LEAVE
  43.     };
  44.  
  45.     enum CrossMode {
  46.         NORMAL,
  47.         GRAB,
  48.         UNGRAB
  49.     };
  50.  
  51.     typedef long Time;
  52.  
  53.     struct MotionEvent {
  54.         Gdk::Time time;
  55.         double x, y, x_root, y_root;
  56.         double pressure;
  57.         double xtilt, ytilt;
  58.         long   state;
  59.         boolean is_hint;
  60.     };
  61.  
  62.     struct ButtonEvent {
  63.         ButtonType type;
  64.         Gdk::Time time;
  65.         
  66.         double x, y, x_root, y_root;
  67.  
  68.         short  button;
  69.     };
  70.  
  71.     struct KeyEvent {
  72.         KeyType   type;
  73.         Gdk::Time time;
  74.         short      state;
  75.         short      keyval;
  76.         short      length;
  77.         string    str;
  78.     };
  79.  
  80.     struct CrossingEvent {
  81.         CrossType    type;
  82.         Gdk::Time    time;
  83.         double         x, y, x_root, y_root;
  84.         CrossMode    mode;
  85.         boolean      focus;
  86.         short        state;
  87.     };
  88.  
  89.     struct FocusEvent {
  90.         boolean      inside;
  91.     };
  92.  
  93.     /*
  94.      * Only the lists of events supported by the Canvas
  95.      */
  96.     union Event switch (EventType) {
  97.         case Gdk::FOCUS:    FocusEvent focus;
  98.         case Gdk::KEY:      KeyEvent key;
  99.         case Gdk::MOTION:   MotionEvent motion;
  100.         case Gdk::BUTTON:   ButtonEvent button;
  101.         case Gdk::CROSSING: CrossingEvent crossing;
  102.     };
  103.  
  104.     /*
  105.      * This is a ':' delimited string
  106.      *   under X11 the first entry ( before a ':' ) contains
  107.      *  window ID as an integer. Other fields are reserved for
  108.      *  future use.
  109.      * See also bonobo-control.c (window_id_demangle)
  110.      */
  111.     typedef string WindowId;
  112. };
  113.  
  114. module Gtk {
  115.     struct Requisition {
  116.         long width;
  117.         long height;
  118.     };
  119.     enum State {
  120.         StateNormal,
  121.         StateActive,
  122.         StatePrelight,
  123.         StateSelected,
  124.         StateInsensitive
  125.     };
  126.     enum Direction {
  127.         DirectionTabForward,
  128.         DirectionTabBackward,
  129.         DirectionUp,
  130.         DirectionDown,
  131.         DirectionLeft,
  132.         DirectionRight
  133.     };
  134. };
  135.  
  136. };
  137.  
  138. #endif
  139.